<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      /*
        静态成员（属性和方法）的调用
        ① 静态成员必须使用类名或者构造函数名调用
        ② 静态方法不能调用对象成员属性或方法
        对象（this）成员（属性和方法）的调用
        ① 实例化（new类、构造函数）对象，使用实例对象调用
        ② 对象方法可以调用静态成员属性或方法
      */
      class Person {
        static username = "jack";
        username = "lili";

        static say() {
          console.log(this.username);
        }
        say() {
          console.log(Person.username);
          console.log(this.username);
        }
      }
      // 静态成员（属性和方法）的调用
      console.log(Person.username); //jack
      Person.say(); // jack
      // 对象（this）成员（属性和方法）的调用
      const p = new Person();
      console.log(p.username);
      p.say(); // lili
    </script>
  </body>
</html>
